package homework;

import java.io.*;


public class Test06 {
    static int count = 0;
    //2.假设从入学开始所有书写的Java类代码都在d:/huayujava文件夹下，包括多级子文件夹。使用IO流获取从入学开始，到目前为止已经写了多少行Java代码。
    //提示：其实就是获取d:/huayujava文件夹及其子文件夹下的所有.java文件，使用readLine()读取其中每一行，每读取一行，行数加1。所有的文件读取完毕，得.到总共已经写的Java代码行数。需要结合递归实现。
    public static void main(String[] args) throws IOException{
        File src = new File("D:\\develop\\idea");
        coun(src);
        System.out.println("一共写了"+count+"行代码");

    }

    public static void coun(File src) throws IOException {
        File[] files = src.listFiles();//获取文件夹下的所有文件
        for (File file : files) {//循环遍历
            if (file.isFile()){//判断是不是文件
                if (file.getName().endsWith(".java")){//判断是不是java文件
                    BufferedReader br = new BufferedReader(new FileReader(file));//创建缓冲流
                        String line;//读取一行
                        while ((line = br.readLine()) != null) {//循环读取
                            count++;//行数加1
                        }

                }
            }
            else {
                coun(file);//递归调用
            }
        }
    }
}

